package br.ita.trucocearense.cliente.core;

import java.rmi.RemoteException;

import br.ita.trucocearense.common.core.interfaces.remote.JogoRemoto;

public class Rodada {
	private JogoRemoto jogoRemoto;
	private Usuario user;
	
	public Rodada(JogoRemoto jogoRemoto,Usuario user) {
		this.jogoRemoto = jogoRemoto;
		this.user = user;
	}
	
	public Carta getUltimaCartaBaixadaServidor() throws RemoteException{
		return new Carta(this.getServer().getUltimaCartaBaixada());
	} 

	public int getNumeroDaRodadaAtual() throws RemoteException{
		return this.getServer().getNumeroDaRodadaAtual();
	} 
	
	public void enviarCarta(Carta carta) throws RemoteException {
		this.getServer().baixarCartaJogadorDaVez(carta);
	}
	
	public int getJogadorDaVezCliente() throws RemoteException {
		return conversaoPosJogadorServidorCliente(this.getPosicaoJogadorDaVezServidor());
	}
	
	public int getPosicaoJogadorDaVezServidor() throws RemoteException {
		return this.getServer().getPosicaoJogadorDaVez();
	}
	
	public int conversaoPosJogadorServidorCliente(int pos) {
		return ((4 - this.user.getPosicaoMesa()) + pos)%4;
	}
	
	public JogoRemoto getServer() {
		return jogoRemoto;
	}

	public Carta getMaiorCarta() throws RemoteException {
		return new Carta(this.getServer().getMaiorCarta());
	}

	//
	public int getEquipeVencedoraRodada() throws RemoteException {
		return this.getServer().getEquipeVencedoraRodada();
	}
	
	


}
